#include "process.h"
#include <stdio.h>
#include <string.h>
#include <unistd.h>

#define NUM 101
#define STYLE '='

// version 2: 真实的进度条，应该根据具体的比如下载的量，来动态刷新进度
void Process(double total, double current)
{
    //1、更新当前进度的百分比
    double rate = (current/total)*100;
   // printf("test:%.1lf%%\r",rate);
   // fflush(stdout);

    //2、更新进度条主体
    char bar[NUM];// 1% 更新一个等号
    memset(bar,'\0',sizeof(bar));
    int i=0;
    for(i = 0; i < (int)rate; i++)
    {
        bar[i] = STYLE;
    }

    //3、 test && printf 
    printf("[%-100s][%.1lf%%]\r",bar,rate);
    fflush(stdout);
}


// version 1
//void Process()
//{
//    const char *lable = "|/-\\";
//    int len = strlen(lable);
//    char bar[NUM];
//    memset(bar,'\0',sizeof(bar));
//    int cnt = 0;
//    while(cnt <= 100)
//    {
//        printf("[%-100s][%d%%][%c]\r",bar,cnt,lable[cnt%len]);
//        fflush(stdout);
//        bar[cnt] = STYLE;
//        cnt++;
//        
//        usleep(20000);
//    }
//    printf("\r\n");
//
//}


